// // #include <iostream>
// // #include <bitset>
// // using namespace std;
// // int main() {
// //     // bitset<20> bs;
// //     // bitset<20> bs1(100);
// //     // bitset<20> bs2(0123);
// //     // bitset<20> bs2(0x3f);
// //     bitset<20> bs(string("1010101"));
// //     cout << bs << endl;
// //     return 0;
// // }


// #include <iostream>
// #include <bitset>
// using namespace std;
// int main() {
//     bitset<8> bs("10101010");
//     // 返回 bitset 中的位数
//     cout << bs.size() << endl;
//     // 返回 bitset 中的1的个数
//     cout << bs.count() << endl;
//     // 如果 bitset 任何位有1就返回true，否则返回false
//     cout << (bs.any() ? "Yes" : "No") << endl;
//     // 如果 bitset 所有位都是0，就返回true，否则返回false
//     cout << (bs.none() ? "Yes" : "No") << endl;
//     // 检查我们的 bitset 中索引为pos的位是不是1
//     cout << (bs.test(0) ? "Yes" : "No") << endl;
//     cout << (bs.test(1) ? "Yes" : "No") << endl;
//     // 将我们的 bitset 中的pos位的值设置为1
//     bs.set(1);
//     cout << bs << endl;
//     // 将我们的 bitset 中的所有位设置为1
//     bs.set();
//     cout << bs << endl;
//     // 将 bitset 中索引为 pos 的位设置为 0
//     bs.reset(1);
//     cout << bs << endl; 
//     // 将所有位设置为 0
//     bs.reset();
//     cout << bs << endl;  
//     // 反转 bitset 中索引为 pos 的位的值
//     bs.flip(2);
//     cout << bs << endl;  
//     // 反转 bitset 中所有位的值
//     bs.flip();
//     cout << bs << endl;
//     // 通过下标访问 bitset 中指定位置的位
//     cout << bs[3] << endl;  
//     // 返回 bitset 的二进制字符串表示
//     cout <<  bs.to_string() << endl; 
//     // 将 bitset 转换为 unsigned long 类型的数值
//     cout << bs.to_ulong() << endl;  
//     // 将 bitset 转换为 unsigned long long 类型的数值
//     cout << bs.to_ullong() << endl;  
//     return 0;
// }


// #include <bitset>
// #include <iostream>
// using namespace std;
// int main() {
//     bitset<20> bs;
//     cin >> bs;
//     cout << bs << endl;
//     return 0;
// }


// #include <iostream>
// #include <bitset>
// using namespace std;
// int main() {
//     bitset<20> bs1, bs2;
//     cin >> bs1;
//     cin >> bs2;
//     bs1 >>= 1;
//     cout << bs1 << endl;
//     bs2 |= bs1;
//     cout << bs2 << endl;
//     return 0;
// }


// #include <iostream>
// #include <bitset>
// using namespace std;
// int main() {
//     bitset<20> bs1, bs2;
//     cin >> bs1 >> bs2;
//     cout << (bs1 & bs2) << endl;
//     cout << (bs1 | bs2) << endl;
//     cout << (bs1 ^ bs2) << endl;
//     return 0;
// }

#include <iostream>
#include <bitset>
using namespace std;
int main() {
    bitset<20> bs;
    cin >> bs;
    cout << bs[0] << endl;
    bs[0] = 1;
    cout << bs << endl;
    return 0;
}